Fix various GCC mis-configurations for newer versions. This patch goes through and enables C++11 and C++14 features for newer GCC's. The main changes are: 1. Turn on variable templates. (Uses __cpp_variable_templates) 2. Assert atomic<Tp> is trivially copyable (Uses _GNUC_VER >= 501). 3. Turn on trailing return support for GCC. (Uses _GNUC_VER >= 404) 4. XFAIL void_t test for GCC 5.1 and 5.2. Fixed in GCC 6. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@255585 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/__config b/include/__config index 211b5e9..ec44f76 100644 --- a/include/__config +++ b/include/__config 
@@ -472,7 +472,9 @@  #endif    // GCC 5 will support variable templates +#if !defined(__cpp_variable_templates) || __cpp_variable_templates < 201304L  #define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES +#endif    #define _NOEXCEPT throw()  #define _NOEXCEPT_(x) @@ -494,7 +496,6 @@    #else // __GXX_EXPERIMENTAL_CXX0X__   -#define _LIBCPP_HAS_NO_TRAILING_RETURN  #define _LIBCPP_HAS_NO_ALWAYS_INLINE_VARIADICS    #if _GNUC_VER < 403 @@ -508,6 +509,7 @@  #if _GNUC_VER < 404  #define _LIBCPP_HAS_NO_DECLTYPE  #define _LIBCPP_HAS_NO_DELETED_FUNCTIONS +#define _LIBCPP_HAS_NO_TRAILING_RETURN  #define _LIBCPP_HAS_NO_UNICODE_CHARS  #define _LIBCPP_HAS_NO_VARIADICS  #define _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS